package com.unitd.base.module.master.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.unitd.base.module.master.pojo.po.TokenPO;

import java.util.Map;

/**
 * token处理的业务逻辑接口
 *
 * @author hudan
 * @version 1.0
 * @filename TokenService.java
 * @copyright www.pactera.com
 * @date 2020-08-28
 */
public interface TokenService extends IService<TokenPO> {

    /**
     * 根据当前登录用户ID,得到该用户的登录token,如果不存在则直接常见token
     *
     * @param userId 当前登录用户ID
     * @return 用户token
     */
    Map<String, Object> createToken(long userId);

    /**
     * 根据用户访问Token得到该用户的登录token信息
     *
     * @param token 用户访问token
     * @return 用户token信息
     */
    TokenPO selectByToken(String token);

    /**
     * 根据用户访问Token得到该用户的用户ID
     *
     * @param tokenStr 用户访问token
     * @return 用户ID
     */
    Long getUserIdByToken(String tokenStr);
}